import prompt from './prompt.js';

// 必填检查
export const checkRequire = (val, msg) => {
  let ret = true;
  if (!(val)) {
    if (msg) {
      prompt.showToast(msg);
    }
    ret = false;
  }
  return ret;
};

// 手机号码校验
export const checkMoblePhone = (val, msg) => {
  const reg = /^[1][3,4,5,7,8,9][0-9]{9}$/;
  let ret = true;
  if (val && !reg.test(val)) {
    if (msg) {
      prompt.showToast(msg);
    }
    ret = false;
  }
  return ret;
};

// 检查验证码
export const checkAuthCode = (val, msg) => {
  const reg = /^\d{6}$/;
  let ret = true;
  if (val && !reg.test(val)) {
    if (msg) {
      prompt.showToast(msg);
    }
    ret = false;
  }
  return ret;
};

// 图片验证码格式校验
export const checkImgCode = (val, msg) => {
  const reg = /^\d{4}$/;
  let ret = true;
  if (val && !reg.test(val)) {
    if (msg) {
      prompt.showToast(msg);
    }
    ret = false;
  }
  return ret;
};

// 纯数字检查
export const checkNumber = (val, msg) => {
  const reg = /^\d+$/;
  let ret = true;
  if (val && !reg.test(val)) {
    if (msg) {
      prompt.showToast(msg);
    }
    ret = false;
  }
  return ret;
};

// 数字范围检查
export const checkNumberRange = (val, min, max, msg) => {
  let ret = true;
  if (+val < min || +val > max) {
    if (msg) {
      prompt.showToast(msg);
    } else {
      prompt.showToast(`输入值应大于${min}且小于${max}`);
    }
    ret = false;
  }
  return ret;
};

// 数字范围检查-小于给定值
export const checkNumberSmaller = (val, compare, msg) => {
  let ret = true;
  if (+val > compare) {
    ret = false;
    if (msg) {
      prompt.showToast(msg);
    }
  }
  return ret;
};

// 数字范围检查-大于给定值
export const checkNumberBigger = (val, compare, msg) => {
  let ret = true;
  if (+val < compare) {
    ret = false;
    if (msg) {
      prompt.showToast(msg);
    }
  }
  return ret;
};

// 日期检查-早于给入时间
export const checkEarlier = (date, earlier, msg) => {
  let ret = true;
  if (date.getTime() - earlier.getTime() >= 0) {
    ret = false;
    if (msg) {
      prompt.showToast(msg);
    }
  }
  return ret;
};

// 日期检查-晚于给入时间
export const checkLater = (date, later, msg) => {
  let ret = true;
  if (date.getTime() - later.getTime() <= 0) {
    ret = false;
    if (msg) {
      prompt.showToast(msg);
    }
  }
  return ret;
};

// 日渐检查-是否同一天
export const checkSameDay = (date1, date2, msg1, msg2) => {
  let ret = true;
  const str1 = `${date1.getFullYear()}${date1.getMonth()}${date1.getDate()}`;
  const str2 = `${date2.getFullYear()}${date2.getMonth()}${date2.getDate()}`;
  if (str1 !== str2) {
    ret = false;
  }
  if (ret) { // 同一天提示
    if (msg1) {
      prompt.showToast(msg1);
    }
  } else { // 不同天提示
    if (msg2) {
      prompt.showToast(msg2);
    }
  }
  return ret;
};